Oracle 您所在的位置:网站首页 oracle创建触发器 权限不足 Oracle

Oracle

2024-07-04 02:48| 来源: 网络整理| 查看: 265

查看触发器

触发器是一种特殊的存储过程,从被创建之日起,触发器就被存储在数据库中,直到被删除。触发器与一般存储过程或者存储函数的区别在于触发器可以自动执行,而一般的存储过程或者存储函数需要调用才能执行。

Oracle提供检索与触发器相关信息的数据字典。与触发器相关的数据字典主要包括以下几种:

USER_TRIGGERS: 存储当前用户所拥有的触发器。DBA_TRIGGERS: 存储管理员所拥有的触发器。ALL_TRIGGERS: 存储所有的触发器。USER_OBJECTS: 存储当前用户所拥有的对象,包括触发器。DBA_OBJECTS: 存储管理员所拥有的对象,包括触发器。ALL_OBJECTS: 存储数据库中所有的对象,包括触发器。

在这里插入图片描述

在这里插入图片描述

USER_TRIGGERS表主要列的说明如下表:

列名描述TRIGGER_NAME触发器名TRIGGER_TYPE触发时间AFTER和BEFORE,以及是行级触发器或语句级触发TRIGGERING_EVENT触发器的事件TABLE_NAME与触发器相关联的表或视图BASE_OBJECT_TYPE与触发器相关联的对象类型:表、视图、模式和数据库WHEN_CLAUSE触发器的WHEN子句代码STATUS触发器的状态:启动或禁用DESCRIPTION类型或事件信息的概述TRIGGER_BODY触发器的PL/SQL块 启用和禁用触发器

Oracle提供的ALTER TRIGGER语句用于启用和禁用触发器。禁用触发器就将它挂起,它仍然存储在数据库中,但是不会被触发,就好像根本没有触发器一样。禁用触发器常常用在当DBA有大量记录要导入到数据库中时,且DBA知道这些数据时安全和可靠的。但禁用触发器后可以节省大量的处理时间。

禁用和启用触发器的语法如下:

ALTER TRIGGER [schema.] trigger_name DISABLE | ENABLE; 修改触发器

当创建的触发器需要修改时可以使用REPLACE关键字。 如果在SQL Plus中创建触发器时带上了OR REPLACE关键字,可以完成过程的修改,也就是覆盖。

删除触发器

对应不用的触发器除了设置禁用属性外也可以直接将其删除。可以利用如下两种方式删除触发器:

第一种方式利用SQL语句删除触发器。 DROP TRIGGER [schema.]trigger_name; 第二种方式,利用PL/SQL Developer工具删除触发器。选中需要删除的触发器,右击触发器,在弹出的快捷菜单中选择DROP即可。


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有